home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 March / CHIP Mart 1997.iso / SurfCam / SURFCAM.Z / UNCL01.F04 < prev    next >
Encoding:
Text File  |  1996-04-01  |  8.6 KB  |  154 lines

  1. $$ Mori Seiki SL25
  2. $$ 2/2/96 Support for cutter comp.
  3. $$ 2/2/96 Cancel Tool Offset, Spindle & Send Tool Home
  4. $$ 2/2/96 G76 or G33 Threading using Relcom 1351
  5. $$ 2/2/96 Sequence numbering
  6. $$ 3/4/96 Modifications to G76 threading
  7. $$ 3/11/96 Check the Pprint or ID or OD
  8. $$ 3/13/96 Added part number prompt
  9.  
  10. REDEF/ON                            $$ ALLOW VARIABLES TO BE OVERWRITTEN
  11. LASTT=-99                           $$ LASTT IS USED FOR CHECKING TOOL NO.
  12. COMPCD=40                           $$ COMPCD IS USED FOR CUTTER COMP.
  13.  
  14. $$ PRINT/ON; XX = POSTF(24,1)       $$ DIAGNOSTICS
  15.  
  16. $$ THIS MACRO CONVERTS LOWER CASE CHARACTERS TO UPPER CASE.
  17. $$ AT TERMAC, UPCHAR CONTAINS UPPER CASE VERSION OF STRING PASSED ON CALL
  18. UPRCAS=MACRO/CHARS                  $$ CHARS IS SYMBOLIC NAME OF STRING
  19.   UPCHAR=TEXT/CHARS                 $$ SET UPCHAR TO EQUAL THE UPPERCASE PPRINT
  20.   DO/UPPIT,KK=1,26                  $$ LOOP 1 TO 26 (A TO Z)
  21.      LOWER1=TEXT/CONVS,(96+KK)      $$ GET LOWER CASE     A -> Z
  22.      UPPER1=TEXT/CONVS,(64+KK)      $$ EQUIVALENT UPPER CASE  A -> Z
  23.      UPCHAR=TEXT/MODIFY,UPCHAR,LOWER1,UPPER1,0 $$ CONVERT ALL LOWERS TO UPPERS
  24.   UPPIT) CONTIN                     $$ CAUSE REPETITION OF LOOP
  25. TERMAC                              $$ TERMINATE MACRO
  26.  
  27. ODTHRD=TEXT/'ODTHREADING'           $$ SET VARIABLE FOR ODTHREADING
  28. IDTHRD=TEXT/'IDTHREADING'           $$ SET VARIABLE FOR IDTHREADING
  29.  
  30. $$ <<<<<<<<<<<<<<<<<<<<<  END OF INITIALIZATION AREA  >>>>>>>>>>>>>>>>>>>>>>>>
  31.  
  32. CIMFIL/ON,PARTNO                    $$ TRAPS PARTNO STATEMENT
  33.  STRNG=TEXT/CLW                     $$ STORES THE CONTENTS INTO STRNG
  34.  STRNG=TEXT/OMIT,STRNG,1            $$ REMOVES ALL OF THE SPACES
  35.  CMPR=CMPRF(STRNG,(TEXT/' 0'))      $$ COMPARES VALUE TO ZERO, 0=TRUE 1=FALSE
  36.  IF(CMPR.EQ.1)THEN                  $$ IF FALSE(1) THEN...
  37.   PROMPT=TEXT/'Enter program library number' $$ STORES THE DESIRED STRING TO PROMPT
  38.   DUMMY=FILEF(0,1,PROMPT)           $$ OPEN FILE#0 AND WRITE TEXT STORED IN PROMPT
  39.   STRNG=TEXT/READ,0                 $$ OVERWRITE STRING WITH THE USER(TERMINAL) INPUT
  40.  ENDIF                              $$ END TEST
  41.  PARTNO/STRNG                       $$ RESET THE PARTNO TO USER INPUT(STRING)
  42. CIMFIL/OFF                          $$ CLOSE FIL
  43.  
  44. CIMFIL/ON,MACHIN                    $$ TRAPS MACHIN STATEMENT 
  45.  DUMMY=POSTF(13)                    $$ SEND RECORD TO POST
  46.  SEQNO/OFF                          $$ TURNS SEQUENCE NUMBERS OFF
  47.  INSERT/'O',STRNG,'$'               $$ INSERT O ADDRESS AND NEW PROGRAM #(STRING)
  48. CIMFIL/OFF                          $$ CLOSE FIL 
  49.  
  50. CIMFIL/ON,CUTCOM                    $$ TRAP CUTCOM(CUTTER COMP)
  51.   WRD4=POSTF(7,4)                   $$ ASSIGN THE CUTCOM TO WRD4
  52.   CASE/WRD4                         $$ TEST FOR CUTTER COMP.
  53.    WHEN/(ICODEF(LEFT))              $$ CUTTER COMP LEFT 
  54.      COMPCD=41                      $$ SETS COMPCD EQUAL TO 41
  55.    WHEN/(ICODEF(RIGHT))             $$ CUTTER COMP RIGHT
  56.      COMPCD=42                      $$ SETS COMPCD EQUAL TO 42
  57.    WHEN/(ICODEF(OFF))               $$ CUTTER COMP OFF
  58.      COMPCD=40                      $$ SETS COMPCD EQUAL TO 40
  59.   ENDCAS                            $$ END TEST
  60.   IF(COMPCD.GE.41)THEN              $$ CHECK IF COMP IS >OR = 41
  61.    REPEAT/OFF                       $$ TURN OFF THE REPEAT COMMAND
  62.    REPEAT/24,26,7,COMPCD,ALL        $$ OUTPUT 24=X, 26=Z, 7=G(40,41,42)
  63.     ELSE                            $$ OR...
  64.     PREFUN/COMPCD                   $$ OUTPUT G41,G42,OR G40
  65.    ENDIF                            $$ END OF IF STATEMENT
  66. CIMFIL/OFF                          $$ END ROUTINE
  67.  
  68.                                     $$ HANDLING COMP AT END OF SEQUENCE
  69. CIMFIL/ON,LOADTL                    $$ TRAP LOADTL(TOOLCHANGE)
  70.                                     $$ USED FOR TOOL & OFFSET NUMBERS
  71.    TNUM=POSTF(7,4)                  $$ ASSIGN THE TOOL NUMBER TO TNUM 
  72.    TOFF=POSTF(7,6)                  $$ ASSIGN THE TOOL OFFSET TO TOFF
  73.   IF(TNUM.EQ.LASTT)THEN             $$ CHECK IF TOOL NUMBER HAS CHANGED
  74.    SELECT/TOFF                      $$ MEANS ONLY OFFSET WAS CHANGED
  75.   ELSE                              $$ REAL INDEX (PREFORM A TOOLCHANGE)
  76.    IF(COMPCD.NE.40)PREFUN/40        $$ SETS THE CUTTER COMP TO OFF
  77.    COMPCD=40                        $$ SET CUTTER COMP TO 40
  78.      IF(LASTT.NE.-99)THEN           $$ CHECK IF THIS IS THE 1ST TOOL
  79.       SELECT/0,NEXT                 $$ WILL PUT OUT THE TCODE WITH 00 NEXT LINE
  80.       AUXFUN/5,NEXT                 $$ OUTPUTS THE M5 NEXT LINE
  81.      ENDIF                          $$ END OF IF STATEMENT
  82.    RAPID;GOHOME                     $$ SEND TOOL BACK TO HOME POSITION
  83.    TURRET/TNUM,TOFF,0,0             $$ CALL UP THE NEXT TOOL & OFFSET
  84.    LASTT=TNUM                       $$ SETTING LAST TOOL EQUAL TO TOOL NUMBER
  85.   ENDIF                             $$ END OF IF STATEMENT
  86.   SEQNO/ON                          $$ SEQUENCE NUMBERING 
  87. CIMFIL/OFF                          $$ END ROUTINE
  88.  
  89.                                     $$ HANDLING COMP AT END   
  90. CIMFIL/ON,END                       $$ LOOKING FOR END
  91.    RSTL=POSTF(20)                   $$ SAVE END     
  92.    SELECT/0,NEXT                    $$ WILL PUT OUT THE TCODE WITH 00 NEXT LINE
  93.    AUXFUN/5,NEXT                    $$ OUTPUTS THE M5 NEXT LINE
  94.    RAPID;GOHOME                     $$ SEND TOOL BACK TO HOME POSITION   
  95.    RSTL=POSTF(21)                   $$ RESTORE
  96.    RSTL=POSTF(13)                   $$ SEND RECORD TO POST
  97. CIMFIL/OFF                          $$ END ROUTINE
  98.  
  99. CIMFIL/ON,THREAD                    $$ TRAP FOR THREAD
  100. CHKREL = POSTF(1,2,1351)            $$ CHECK FOR CANNED CYCLE
  101. IF (CHKREL .EQ. 76) THEN            $$ CHECK IF RELCOM FOR 1351 IS 76
  102.   X1 = POSTF(7,5)                   $$ START POINT IN Z
  103.   Y1 = POSTF(7,6)                   $$ START POINT IN X
  104.   Z1 = POSTF(7,7)                   $$ VALUE IS NOT USED
  105.   X2 = POSTF(7,9)                   $$ END POINT IN Z
  106.   Y2 = POSTF(7,10)                  $$ END POINT IN X
  107.   Z2 = POSTF(7,11)                  $$ VALUE IS NOT USED
  108.   LEAD = (POSTF(7,13))              $$ ALWAYS PITCH
  109.   LEAD = 1/LEAD                     $$ ESTABLISH THE PITCH
  110.   PRCNT = POSTF(7,15)               $$ PERCENTAGE USED FOR TOTAL DEPTH       
  111.   TOTDPT=ABSF(POSTF(7,20))          $$ ABSOLUTE TOTAL DEPTH OF THREAD
  112.   MINDP = POSTF(7,17)               $$ MIN DEPTH
  113.   LASTPS = POSTF(7,23)              $$ AMOUNT OF SPRING PASSES
  114.   INFD = 90 - (POSTF(7,21))         $$ IN FIELD ANGLE
  115.   P2 = PRCNT * TOTDPT               $$ TOTAL DEPTH OF THREAD  
  116.   CLEAR=.1                          $$ DEFINED CLEARANCE AMOUNT
  117.      PPRINT/'Direction = ',DRFLAG   $$ CHECK FLAG \OD OR ID
  118.  IF(DRFLAG.NE.0)THEN                $$ DIRECTION IS OD
  119.  CLEAR=(CLEAR*-1)                   $$ CHANGE OFFSET SIDE
  120.  ELSE                               $$ DIRECTION IS ID 
  121.  TOTDPT=(TOTDPT*-1)                 $$ CHANGE DEPTH SIDE
  122.  ENDIF                              $$ END OF IF STATEMENT        
  123. YMUL=POSTF(1,2,1350)                $$ GET RADIAL MULT   
  124.                                     $$ G76 TYPE THREADING CYCLE 
  125. $$        G    X                 Z  $$ RAPID TO CLEARANCE POSITION FOR ID
  126. POSTN/OUT,7,0,24,((Y2+CLEAR)*YMUL),26,X1                                    
  127. $$         X                     Z     P     Q         R   F      G
  128. POSTN/OUT,24,((Y2+TOTDPT)*YMUL),26,X2,16,P2,17,LASTPS,18,0,6,LEAD,7,76    
  129. $$         O                Q        R   G  
  130. POSTN/OUT,15,(010000+INFD),17,MINDP,18,0,7,76                                    
  131. ELSE                                $$ OR, OUTPUT LONGHAND CODE 
  132.   XX=POSTF(13)                      $$ NO CANNED CYCLE, G33 TYPE
  133. ENDIF                               $$ END OF IF STATEMENT  
  134. CIMFIL/OFF                          $$ END ROUTINE
  135.  
  136. CIMFIL/ON,PPRINT                    $$ TRAP FOR THE PPRINTS
  137.   PPSTR=TEXT/CLW                    $$ 66 CHARACTERS OUT OF PPRINT STATMENT
  138.   XX=POSTF(13)                      $$ PROCESS THE CURRENT RECORD
  139.   PPSTR=TEXT/OMIT,PPSTR,3           $$ THROW OUT ALL BLANKS    
  140. CALL/UPRCAS,CHARS=PPSTR             $$ CALL THE MACRO 'UPRCAS'
  141. PPSTR=TEXT/UPCHAR                   $$ SET PPSTR TO UPPER CHARACTERS
  142. RADLOC=INDXF(PPSTR,IDTHRD)          $$ INDEX TO PPRINT IDTHREADING
  143. IF(RADLOC.NE.0)THEN                 $$ CHECK FOR PPRINT IDTHREADING
  144. DRFLAG=1                            $$ FLAG FOR IDTHREADING
  145. ENDIF                               $$ END OF IF STATEMENT
  146. RADLOC=INDXF(PPSTR,ODTHRD)          $$ INDEX TO PPRINT ODTHREADING 
  147. IF(RADLOC.NE.0)THEN                 $$ CHECK FOR PPRINT ODTHREADING 
  148. DRFLAG=0                            $$ FLAG FOR ODTHREADING 
  149. ENDIF                               $$ END OF IF STATEMENT
  150. CIMFIL/OFF                          $$ END ROUTINE
  151.  
  152. FINI
  153.                                          
  154.